import axios from 'axios'
import router from '@/router/index'
import config from '../config'
import {ElMessage} from 'element-plus'
import { localGet } from './index'

import { def } from '@vue/shared'
console.log('config',config[import.meta.env.MODE].baseUrl);

axios.defaults.baseURL=config[import.meta.env.MODE].baseUrl
axios.defaults.withCredentials=true

// 请求头，headers信息
axios.defaults.headers['X-Request-With']='XMLHttpRequest'
axios.defaults.headers['token']=localGet('token')||''

// 默认post请求，使用application/json形式
axios.defaults.headers.post['Content-Type']='application/json'

// 请求拦截器
axios.interceptors.response.use(res=>{
    console.log(res.data);
    if(typeof res.data!=='object'){
        console.log('服务端异常！');
        ElMessage.error('服务端异常')
        return Promise.reject(res)
    }
    if(res.data.resultCode!=200){
        if(res.data.message){
            ElMessage.error(res.data.message)
            console.log(res.data.meta);
        }
        if(res.data.resultCode==419){
            ElMessage.error('登陆失效')
            router.push({path:'/login'})
        }
        return Promise.reject(res.data)
    }
    return  res.data.data
})
export default axios